/*
* Sun Public License Notice
*
* The contents of this file are subject to the Sun Public License
* Version 1.0 (the "License"). You may not use this file except in
* compliance with the License. A copy of the License is available at
* http://www.sun.com/
*
* The Original Code is NetBeans. The Initial Developer of the Original
* Code is Sun Microsystems, Inc. Portions Copyright 1997-2001 Sun
* Microsystems, Inc. All Rights Reserved.
*/
package org.netbeans.modules.corba.idl.node;
import org.openide.nodes.Children;
import org.openide.nodes.CookieSet;
import org.openide.nodes.Sheet;
import org.openide.nodes.PropertySupport;
import org.openide.util.actions.SystemAction;
import org.openide.actions.OpenAction;
import org.netbeans.modules.corba.idl.src.IDLElement;
import org.netbeans.modules.corba.idl.src.UnionMemberElement;
import org.netbeans.modules.corba.idl.src.DeclaratorElement;
/**
* Class IDLUnionMemberNode
*
* @author Karel Gardas
*/
public class IDLUnionMemberNode extends IDLAbstractNode {
UnionMemberElement _unionmember;
String name;
private static final String UNIONMEMBER_ICON_BASE =
"org/netbeans/modules/corba/idl/node/unionmember";
public IDLUnionMemberNode (UnionMemberElement value) {
//super (new IDLDocumentChildren ((SimpleNode)value));
super (Children.LEAF);
setIconBase (UNIONMEMBER_ICON_BASE);
_unionmember = value;
setCookieForDataObject (_unionmember.getDataObject ());
if (_unionmember != null) {
/*
for (int i=0; i<_unionmember.getUnionMembers ().size (); i++) {
if (_unionmember.getUnionMember (i) instanceof Identifier) {
name = ((Identifier)_unionmember.getUnionMember (i)).getName ();
System.out.println ("found name: " + name + " at " + i + " position");
}
}
}
*/
name = _unionmember.getName ();
}
else
name = "NoName :)";
}
public IDLElement getIDLElement () {
return _unionmember;
}
public String getDisplayName () {
return name;
}
public String getName () {
return "unionmember";
}
public SystemAction getDefaultAction () {
SystemAction result = super.getDefaultAction();
return result == null ? SystemAction.get(OpenAction.class) : result;
}
protected Sheet createSheet () {
Sheet s = Sheet.createDefault ();
Sheet.Set ss = s.get (Sheet.PROPERTIES);
ss.put (new PropertySupport.ReadOnly ("name", String.class, "name", "name of union member") {
public Object getValue () {
return _unionmember.getName ();
}
});
ss.put (new PropertySupport.ReadOnly ("type", String.class, "type", "type of union member") {
public Object getValue () {
return _unionmember.getType ().getName ();
}
});
ss.put (new PropertySupport.ReadOnly ("dimension", String.class, "dimension",
"dimension of union member") {
public Object getValue () {
return ((DeclaratorElement)_unionmember.getMember
(_unionmember.getMembers ().size () -1 )).getDimension ();
}
});
ss.put (new PropertySupport.ReadOnly ("case", String.class, "case",
"case of union member") {
public Object getValue () {
return _unionmember.getCases ();
}
});
return s;
}
}
/*
* $Log
* $
*/